﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using Antu.Core.Provider;

namespace EluZSProvider
{
    public abstract class EluZSDataProvider : AbstractProvider
    {
        /// <summary>
        /// 获取数据库连接
        /// </summary>
        /// <returns></returns>
        public abstract string GetConnectionString();

        /// <summary>
        /// 根据userid查找用户
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract User GetUser(string userid);
        /// <summary>
        /// 查找用户
        /// </summary>
        /// <param name="username"></param>
        /// <param name="pwd"></param>
        /// <returns></returns>
        public abstract User GetUser(string username, string pwd);
        /// <summary>
        /// 获取所有用户包括无效的
        /// </summary>
        /// <returns></returns>
        public abstract List<User> GetAllUserList();
        /// <summary>
        /// 获取所有有效用户
        /// </summary>
        /// <returns></returns>
        public abstract List<User> GetAllEffectiveUserList();
        /// <summary>
        /// 
        /// </summary>
        /// <param name="roleid"></param>
        /// <returns></returns>
        public abstract List<User> GetUserList(string roleid);

        /// <summary>
        /// 
        /// </summary>
        /// <param name="roleid"></param>
        /// <returns></returns>
        public abstract Role GetRole(string roleid);
        /// <summary>
        /// 
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract List<Role> GetRoleList(string userid);

        public abstract bool SaveUser(string strid, User user);
        public abstract bool DelUser(string userid);
        public abstract bool SaveRizhi(Rizhi rizhi);
        public abstract bool DelRizhi(string rizhiid);
        /// <summary>
        /// 根据userid 获取菜单
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract List<Menu> GetMenuTitle();
        /// <summary>
        /// 根据菜单ID获取单条
        /// </summary>
        /// <param name="mid"></param>
        /// <returns></returns>
        public abstract List<Menu> GetMenu(string mid);
        /// <summary>
        /// 获取子菜单
        /// </summary>
        /// <returns></returns>
        public abstract List<Menu> GetMenuContent(string mid);
        /// <summary>
        /// 由登录人员ID获取菜单标题
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract DataTable GetMenuTitleByUserID(string userid);
        /// <summary>
        /// 由登录人员ID获取菜单
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract DataTable GetMenuByUserID(string userid, string mid);
        /// <summary>
        /// 由登入人员ID获取子菜单
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract DataTable GetMenuContentByUserID(string userid, string mid);
        /// <summary>
        /// 由ID获取单个菜单信息
        /// </summary>
        /// <param name="strid"></param>
        /// <returns></returns>
        public abstract Menu GetMenuOne(string strid);
        /// <summary>
        /// 根据roleid 获取菜单
        /// </summary>
        /// <param name="roleid"></param>
        /// <returns></returns>
        public abstract Menu GetMenuByRole(string roleid);
        /// <summary>
        /// 获取单位信息列表
        /// </summary>
        /// <returns></returns>
        public abstract List<Company> GetCompanyList(string dwname,string dwtype);
        /// <summary>
        /// 获取单位信息列表1
        /// </summary>
        /// <param name="id"></param>
        /// <param name="dwname"></param>
        /// <returns></returns>
        public abstract List<Company> GetCompanyList1(string id, string dwname);
        /// <summary>
        /// 根据userid获取单位
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract Company GetCompany(string userid);
        /// <summary>
        /// 根据roleid 获取单位
        /// </summary>
        /// <param name="roleid"></param>
        /// <returns></returns>
        public abstract Company GetCompanyByRole(string roleid);
        /// <summary>
        /// 获取数据字典
        /// </summary>
        /// <param name="roleid"></param>
        /// <returns></returns>
        public abstract List<Params> GetParams(string name);
        /// <summary>
        /// 带条件查询数据字典
        /// </summary>
        /// <param name="name"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetParamYB(string name, string strwhere);
        /// <summary>
        /// 查询数据字典中的一条信息
        /// </summary>
        /// <param name="name"></param>
        /// <param name="keyvalue"></param>
        /// <returns></returns>
        public abstract string GetParamsOne(string name, string keyvalue);
        /// <summary>
        /// 获取项目
        /// </summary>
        /// <returns></returns>
        public abstract List<Project> GetProject(string sqlwhere);
        /// <summary>
        /// 由ID获取项目信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public abstract Project GetProjectXX(string id);
        /// <summary>
        /// 获取立项管理中附件个数
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract int GetProjectFJNo(string pid, string itemname, string usetype);
        public abstract int GetProjectFJAllNo(string pid, string usetype);
        /// <summary>
        /// 获取已有三大件附件名称组成StringBuilder
        /// </summary>
        /// <returns></returns>
        public abstract StringBuilder GetProFJName(string pid, string usetype);
        /// <summary>
        /// 获取补偿方案ID
        /// </summary>
        /// <param name="ifafter"></param>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract string GetBCFAID(string ifafter, string pid);
        /// <summary>
        /// 获取附件
        /// </summary>
        /// <param name="itemid"></param>
        /// <param name="usetype"></param>
        /// <param name="ITEMNAME"></param>
        /// <returns></returns>
        public abstract List<File> GetFile(string itemid, string usetype, string ITEMNAME);
        public abstract List<File> GetAllFile(string itemid, string usetype, string ITEMNAME);
        /// <summary>
        /// 获取单独附件
        /// </summary>
        /// <param name="strid"></param>
        /// <returns></returns>
        public abstract File GetFileOne(string strid);
        public abstract DataTable GetOneFile(string strid);
        public abstract string GetFJZT(string tablename, string columname, string id);
        /// <summary>
        /// 更新附件内容
        /// </summary>
        /// <param name="tablename">表名</param>
        /// <param name="colname">列名</param>
        /// <param name="id">行ID</param>
        /// <param name="FileContent">内容</param>
        /// <param name="Length">长度</param>
        public abstract void UpdateFileContent(string tablename, string id, byte[] FileContent, int Length, string itemid, string filename, string fileext, string itemname, string usetype);
        /// <summary>
        /// 由ID执行更新列名状态
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract bool GetProjectZT(string tablename,string columnname, string pid, string tt);
        /// <summary>
        /// 由表ID更新表中该数据更新状态
        /// </summary>
        /// <param name="tableName"></param>
        /// <param name="ID"></param>
        public abstract void UpdateCanSync(string tableName, string column, string ID, string query);
        /// <summary>
        /// 提交后的征收范围保存至记录表
        /// </summary>
        /// <param name="tableName"></param>
        /// <param name="ID"></param>
        public abstract void InsertZSFW(string pid, string userid, string useType, string useItemName);
        /// <summary>
        /// 是否超级管理员
        /// </summary>
        /// <returns></returns>
        public abstract bool IsZSAdmin(string userid);
        /// <summary>
        /// 是否区征收部门
        /// </summary>
        /// <returns></returns>
        public abstract bool IsQZSBM(string userid);
        /// <summary>
        /// 是否征收办业务人员
        /// </summary>
        /// <returns></returns>
        public abstract bool IsSZSB(string userid);
        /// <summary>
        /// 是否区县录入人员
        /// </summary>
        /// <returns></returns>
        public abstract bool IsQXLRRY(string userid);
        /// <summary>
        /// 是否区县组长
        /// </summary>
        /// <returns></returns>
        public abstract bool IsQXZZ(string userid);
        /// <summary>
        /// 是否外网管理员
        /// </summary>
        /// <returns></returns>
        public abstract bool IsNetZSAdmin(string userid);
        /// <summary>
        /// 三区两县项目
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract bool IsSQLXPro(string pid);
        /// <summary>
        /// 根据数据ID删除信息
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract bool DeleteXmByID(string tableName, string columname, string id);
        /// <summary>
        /// 根据项目ID删除项目关联信息
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract void DeleteXXByID(string id);
        /// <summary>
        /// 获取征收范围历史记录
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="proname"></param>
        /// <param name="username"></param>
        /// <returns></returns>
        public abstract DataTable GetFANWEILOG(string pid,string proname,string username);
        /// <summary>
        /// 获取决定复议、诉讼信息
        /// </summary>
        /// <param name="sqlwhere"></param>
        /// <param name="sqlcolumn"></param>
        /// <returns></returns>
        public abstract DataTable GetJDXX(string sqlwhere, string sqlcolumn);
        /// <summary>
        /// 由项目ID获取征收决定信息
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetPronoXX(string pid, string sqlWhere);
        /// <summary>
        /// 由决定ID获取征收决定信息
        /// </summary>
        /// <param name="pnid"></param>
        /// <returns></returns>
        public abstract Prono GetProno(string pnid);
        /// <summary>
        /// 由项目ID获取补偿实施方案数据
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract BCFAQS GetBCFAQS(string type,string pid);
        /// <summary>
        /// 验证此幢中是否存在已签协议人员
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="zid"></param>
        /// <returns></returns>
        public abstract bool CheckData(string pid, string zid);
        /// <summary>
        /// 根据项目ID获取幢信息
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract DataTable GetProZhuang(string pid,string sqlwhere);
        /// <summary>
        /// 获取幢详细信息
        /// </summary>
        /// <param name="zid"></param>
        /// <returns></returns>
        public abstract ProZhuang GetProZhuang(string zid);
        /// <summary>
        /// 获取房间号
        /// </summary>
        /// <param name="zid"></param>
        /// <returns></returns>
        public abstract DataTable GetProloupan(string zid);
        /// <summary>
        /// 根据幢ID获取楼盘信息
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract List<ProLoupan> GetProLoupan(string lcno, string zid);
        /// <summary>
        /// 由房间ID获取房间信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public abstract ProLoupan GetProLoupanRoom(string id);
        /// <summary>
        /// 获取楼盘房间信息
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="zid"></param>
        /// <returns></returns>
        public abstract DataTable GetLoupanRoom(string pid,string zid);
        /// <summary>
        /// 获取房间状态以进行楼盘表生成
        /// </summary>
        /// <param name="cloumname"></param>
        /// <param name="zid"></param>
        /// <param name="roomno"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        public abstract int GetLoupanType(string cloumname,string zid,int roomno,int index);
        /// <summary>
        /// 更新楼盘表字段
        /// </summary>
        /// <param name="columname"></param>
        /// <param name="zid"></param>
        /// <param name="roomno"></param>
        /// <param name="index"></param>
        public abstract void UpdateLoupan(string columname,string zid,int roomno,int index);
        /// <summary>
        /// 插入楼盘表数据
        /// </summary>
        /// <param name="aztype"></param>
        /// <param name="zid"></param>
        /// <param name="roomno"></param>
        /// <param name="index"></param>
        public abstract void InsertLoupan(int aztype, string pid, string zid, int roomno, int index, int status);
        /// <summary>
        /// 根据传递参数获取所需值
        /// </summary>
        /// <param name="tablename"></param>
        /// <param name="columname"></param>
        /// <param name="newcolumname"></param>
        /// <param name="newid"></param>
        /// <returns></returns>
        public abstract string GetSomeStr(string tablename,string columname,string newcolumname,string newid);
        /// <summary>
        /// 由传递条件获取所需值
        /// </summary>
        /// <param name="tablename"></param>
        /// <param name="columname"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract string GetSomeWhere(string tablename, string columname, string strwhere);
        /// <summary>
        /// 更新单字段语句
        /// </summary>
        /// <param name="tablename"></param>
        /// <param name="column"></param>
        /// <param name="value"></param>
        /// <param name="strwhere"></param>
        public abstract void UpdateSomething(string tablename, string column, string value, string strcolumn, string strvalue);
        /// <summary>
        /// 插入小字段语句
        /// </summary>
        /// <param name="tablename"></param>
        /// <param name="column"></param>
        /// <param name="value"></param>
        public abstract void InsertSomething(string tablename, string column, string value);
        /// <summary>
        /// 更新按钮状态
        /// </summary>
        /// <param name="tablename"></param>
        /// <param name="columnname"></param>
        /// <param name="strid"></param>
        /// <param name="tt"></param>
        /// <returns></returns>
        public abstract bool ChangeZT(string tablename, string columnname, string strid, string tt);
        /// <summary>
        /// 获取四位顺序数字的协议号
        /// </summary>
        /// <param name="strid"></param>
        /// <returns></returns>
        public abstract string GetSXNo(string type, string strid);
        /// <summary>
        /// 在协议页面按顺序生成IID
        /// </summary>
        /// <returns></returns>
        public abstract string GetXYIID();
        /// <summary>
        /// 获取预警参数
        /// </summary>
        /// <returns></returns>
        public abstract YJCS GetYJCS();
        /// <summary>
        /// 获取被征收人信息
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetBZSR(string strWhere);
        /// <summary>
        /// 获取被征收人签署协议情况
        /// </summary>
        /// <returns></returns>
        public abstract bool GetBZSRXY(string personid);
        /// <summary>
        /// 用于自动生成被征收人默认证件顺序号
        /// </summary>
        /// <returns></returns>
        public abstract string GetBZSRZJH();
        /// <summary>
        /// 获取该房间是否已签署协议
        /// </summary>
        /// <param name="fid"></param>
        /// <returns></returns>
        public abstract bool GetRoomXY(string fid);
        /// <summary>
        /// 由项目ID获取属于房间信息（散套）
        /// </summary>
        /// <returns></returns>
        public abstract List<ProLoupan> GetProloupanRom(string type,string pid,string strwhere);
        /// <summary>
        /// 获取需要的被征收人员信息
        /// </summary>
        /// <param name="columname"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetZSPerson(string strType, string strwhere);
        /// <summary>
        /// 获取已做决定的项目信息
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetProjectJD(string strwhere);
        /// <summary>
        /// 添加统计行
        /// </summary>
        /// <param name="dtSource"></param>
        /// <param name="strRowNoField"></param>
        /// <param name="lstNeedCollectFields"></param>
        public abstract void AddCollectRow(DataTable dtSource, string strRowNoField, List<string> lstNeedCollectFields);
        /// <summary>
        /// 获取补偿款资金信息数据
        /// </summary>
        /// <param name="strwhere1"></param>
        /// <param name="strwhere2"></param>
        /// <returns></returns>
        public abstract DataTable GetBCZJ(string strwhere1,string strwhere2);
        /// <summary>
        /// 获取补偿款资金信息个数
        /// </summary>
        /// <param name="strwhere1"></param>
        /// <param name="strwhere2"></param>
        /// <returns></returns>
        public abstract string GetCompensateBasicNum(string strwhere1, string strwhere2);
        /// <summary>
        /// 获取协议补偿款信息
        /// </summary>
        /// <param name="pnid"></param>
        /// <returns></returns>
        public abstract string getXYBCK(string pnid);
        /// <summary>
        /// 获取选择的项目
        /// </summary>
        /// <param name="temp"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetSelProject(string temp,string strwhere,string qs);
        /// <summary>
        /// 获取选择的项目
        /// </summary>
        /// <param name="temp"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetSelProject1(string temp, string strwhere, string qs);
        /// <summary>
        /// 获取流程选择的人员
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetSelPeople( string strwhere);
        /// <summary>
        /// 获取流程选择的人员
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetSelPeople1(string strwhere);
        /// <summary>
        /// 获取补偿款基本情况
        /// </summary>
        /// <returns></returns>
        public abstract Bcbasicinfo GetBcbasicinfo(string strid);
        /// <summary>
        /// 更新补偿款基本情况表
        /// </summary>
        public abstract bool SaveBcbasicinfo(string strid, Bcbasicinfo bcbasicinfo);
        /// <summary>
        /// 获取是否已做批次划转
        /// </summary>
        /// <returns></returns>
        public abstract string GetISPCHZ(string pid);
        /// <summary>
        /// 获取是否待做批次划转
        /// </summary>
        /// <returns></returns>
        public abstract string GetISDPCHZ(string pid);
        /// <summary>
        /// 获取到账金额信息
        /// </summary>
        /// <param name="bid"></param>
        /// <returns></returns>
        public abstract DataTable GetDZJE(string bid);
        /// <summary>
        /// 获取当前余额
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract string GetNowYE(string bid);
        /// <summary>
        /// 获取到账金额
        /// </summary>
        /// <param name="nid"></param>
        /// <returns></returns>
        public abstract NEW_MONEY GetNewmoney(string nid);
        /// <summary>
        /// 保存到账金额信息
        /// </summary>
        /// <param name="newmoney"></param>
        /// <returns></returns>
        public abstract bool SaveNewmoney(string nid,NEW_MONEY newmoney);
        /// <summary>
        /// 获取该到账信息中首期是否存在
        /// </summary>
        /// <returns></returns>
        public abstract bool GetNewMoneyISFirst(string bid);
        /// <summary>
        /// 获取当前到账信息是否为首期到账
        /// </summary>
        /// <param name="id"></param>
        /// <param name="bid"></param>
        /// <returns></returns>
        public abstract bool GetNewMoneyNowIFT(string strid, string bid);
        /// <summary>
        /// 获取划转金额信息
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract DataTable GetHZJE(string pid,string strwhere);
        /// <summary>
        /// 获取待划转金额信息
        /// </summary>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract DataTable GetDHZJE(string strwhere);
        /// <summary>
        /// 获取划账金额表信息
        /// </summary>
        /// <param name="strid"></param>
        /// <returns></returns>
        public abstract CHANGE_MONEY GetCHANGEMONEY(string strid);
        /// <summary>
        /// 存储划账金额
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="changemoney"></param>
        /// <returns></returns>
        public abstract bool SaveChangemoney(string strid, CHANGE_MONEY changemoney);
        /// <summary>
        /// 获取划账人员信息表
        /// </summary>
        /// <param name="pcid"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetHZJERY(string pcid,string strwhere);
        /// <summary>
        /// 获取划转/到账统计信息
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetHZDZTJ(string type, string strwhere);
        /// <summary>
        /// 获取资金表中存在的银行名称(distinct)
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetZJYH(string strwhere);
        /// <summary>
        /// 获取在该银行中开户的项目数
        /// </summary>
        /// <param name="temp"></param>
        /// <returns></returns>
        public abstract string GetYHProNum(string temp);
        /// <summary>
        /// 开户银行单位汇总
        /// </summary>
        /// <param name="strwhere"></param>
        /// <param name="strwhere1"></param>
        /// <returns></returns>
        public abstract DataTable GetKHCompanyHZ(string strwhere, string strwhere1);
        /// <summary>
        /// 获取已做征收决定的项目列表
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetProList(string column,string strwhere);
        /// <summary>
        /// 保存概算评估机构信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="project"></param>
        /// <returns></returns>
        public abstract bool SaveGSPGJG(string strid, Project project);
        /// <summary>
        /// 保存征收评估机构信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="prono"></param>
        /// <returns></returns>
        public abstract bool SaveZSPGJG(string strid, Prono prono);
        /// <summary>
        /// 获取评估机构报名信息
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetPGJGBM(string strwhere);
        /// <summary>
        /// 获取评估机构报名信息二级页面
        /// </summary>
        /// <param name="pnid"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetPGJGBMXX(string tt, string pnid, string strwhere1, string strwhere2);
        /// <summary>
        /// 插入报名信息
        /// </summary>
        public abstract void InsertPGJGBMXX(string strPNID,string strCID,string SID);
        /// <summary>
        /// 评估机构数据置空
        /// </summary>
        public abstract void UpdatePGJGNull(string tablename,string columname,string strid);
        /// <summary>
        /// 评估报名发布信息
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public abstract Pgbmfbxx GetPgbmfbxx(string strid);
        /// <summary>
        /// 保存评估报名发布信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="pgbmfbxx"></param>
        /// <returns></returns>
        public abstract bool SavePGJGBMXX(string strid, Pgbmfbxx pgbmfbxx);
        /// <summary>
        /// 获取决定与项目联合查询信息
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetProUnList(string column, string sqlwhere);

        public abstract DataTable GetProUnList1(string column, string sqlwhere);
        /// <summary>
        /// 查询是否存在值
        /// </summary>
        /// <param name="tablename"></param>
        /// <param name="cloumn"></param>
        /// <param name="newvalue"></param>
        /// <returns></returns>
        public abstract bool CkSomStr(string tablename,string cloumn,string newvalue);
        /// <summary>
        /// 存储评估发布申请信息
        /// </summary>
        /// <returns></returns>
        public abstract bool SavePgfbsq(string strid,PGFBSQ pgfbsq);
        /// <summary>
        /// 获取评估通知信息
        /// </summary>
        /// <param name="pnid"></param>
        /// <param name="sid"></param>
        /// <returns></returns>
        public abstract DataTable GetPGTZXX(string pnid, string sid, string strCName);
        /// <summary>
        /// 获取住宅补偿金汇总
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetZZBCJHZ(string strwhere);
        /// <summary>
        /// 获取非住宅补偿金汇总
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetFZZBCJHZ(string strwhere);
        /// <summary>
        /// 获取评估分户数据信息
        /// </summary>
        /// <param name="type"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetPGFHXX(string type, string strwhere);
        /// <summary>
        /// 由ID获取新增面积补偿款
        /// </summary>
        /// <returns></returns>
        public abstract ADDAREA GetADDAREA(string strid);
        /// <summary>
        /// 获取新增面积补偿款
        /// </summary>
        /// <returns></returns>
        public abstract List<ADDAREA> GetAddareaList(string strwhere);
        /// <summary>
        /// 保存新增面积补偿信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="addarea"></param>
        /// <returns></returns>
        public abstract bool SaveAddarea(string strid,ADDAREA addarea);
        /// <summary>
        /// 根据决定ID获取补偿资金概算表
        /// </summary>
        /// <returns></returns>
        public abstract PGGS GetPGGS(string pnid);
        /// <summary>
        /// 根据决定ID获取征收评估结果汇总表
        /// </summary>
        /// <returns></returns>
        public abstract PGJGHZ GetPGJGHZ(string pnid);
        /// <summary>
        /// 根据决定ID获取分户评估数据
        /// </summary>
        /// <returns></returns>
        public abstract ZZBCJFENHU GetZZBCJFENHU(string pnid);
        /// <summary>
        /// 获取被征收人信息
        /// </summary>
        /// <returns></returns>
        public abstract ZSPERSON GetZSPERSON(string personid);
        /// <summary>
        /// 获取产权置换补偿协议信息
        /// </summary>
        /// <returns></returns>
        public abstract Cqzhxy GetCqzhxy(string strid);
        /// <summary>
        /// 获取货币化补偿协议信息展示
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetHBHXY(string pid,string strwhere);
        /// <summary>
        /// 获取区域房屋均价
        /// </summary>
        /// <param name="personid"></param>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract string GetQYFWJJ(string personid,string pid);
        /// <summary>
        /// 获取评估补偿款/协议补偿款
        /// </summary>
        /// <param name="type">为0时评估补偿,为1时协议补偿</param>
        /// <returns></returns>
        public abstract string GetPGBCK(string personid, string pid,string type);
        /// <summary>
        /// 获取货币化补偿协议信息
        /// </summary>
        /// <returns></returns>
        public abstract Hbhxy GetHbhxy(string strid);
        /// <summary>
        /// 保存货币化补偿协议异常信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="hbhxy"></param>
        /// <returns></returns>
        public abstract bool SaveHbhxy(string strid,Hbhxy hbhxy);
        /// <summary>
        /// 获取需做协议人员
        /// </summary>
        /// <param name="pnid"></param>
        /// <returns></returns>
        public abstract DataTable GetXZXYRY(string pnid,string strwhere);
        /// <summary>
        /// 获取被选择的需签署协议人员
        /// </summary>
        /// <param name="values"></param>
        /// <param name="pid"></param>
        /// <returns></returns>
        public abstract DataTable GetSelectRY(string values,string pid,string type);
        /// <summary>
        /// 获取打印人员留痕信息
        /// </summary>
        /// <param name="type"></param>
        /// <param name="strid"></param>
        /// <returns></returns>
        public abstract DataTable GetDYRYLH(string type, string strid);
        /// <summary>
        /// 获取打印流程IID和表单ID
        /// </summary>
        /// <param name="fname"></param>
        /// <returns></returns>
        public abstract string GetBindFname(string fname);
        /// <summary>
        /// 获取月报表上报信息
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetYBBTJ(string strwhere);
        /// <summary>
        /// 获取月上报表中不同区属
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetYBBBTQS();
        /// <summary>
        /// 获取征收批次信息
        /// </summary>
        /// <param name="pnid"></param>
        /// <returns></returns>
        public abstract DataTable GetZSPCHXX(string pnid);
        /// <summary>
        /// 修改标识状态
        /// </summary>
        /// <param name="table"></param>
        /// <param name="column"></param>
        /// <param name="value"></param>
        /// <param name="wcolumn"></param>
        /// <param name="wvalue"></param>
        /// <returns></returns>
        public abstract bool UpdateBSZT(string table,string column,string value,string wcolumn,string wvalue);
        /// <summary>
        /// 资金划转至人员选择
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetBHZZJRY(string pnid,string pcid,string strwhere);
        /// <summary>
        /// 存入被选择作为资金划转人员信息
        /// </summary>
        /// <param name="values"></param>
        /// <param name="pcid"></param>
        /// <param name="pnid"></param>
        /// <returns></returns>
        public abstract void UpdatePCHRY(string values, string strPCID, string strPNID);
        /// <summary>
        /// 获取批次号信息
        /// </summary>
        /// <returns></returns>
        public abstract Zspch GetZspch(string strid);
        /// <summary>
        /// 保存批次号信息
        /// </summary>
        /// <returns></returns>
        public abstract bool SaveZspch(string strid,Zspch zspch);
        /// <summary>
        /// 获取批次划账金额页面上的金额
        /// </summary>
        /// <returns></returns>
        public abstract string GetGZJE(string personid, string strpnid, string type);
        /// <summary>
        /// 获取需做补偿决定人员信息
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetBCJDRYXX(string pid, string strwhere);
        /// <summary>
        /// 获取补偿决定被选择人员展示信息
        /// </summary>
        /// <param name="pnid"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetBCJDXZRY(string pnid,string strwhere);
        /// <summary>
        /// 获取补偿决定被选择人员判断
        /// </summary>
        /// <param name="pid"></param>
        /// <param name="values"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public abstract DataTable GetXZBCJDRY(string pid,string values,string type);
        /// <summary>
        /// 保存征收补偿决定信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="bcjd"></param>
        /// <returns></returns>
        public abstract bool SaveBCJD(string strid,BCJD bcjd);
        /// <summary>
        /// 获取月报表数据
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetYBBXX(string strwhere);
        /// <summary>
        /// 单独获取一个所需表信息
        /// </summary>
        /// <param name="table"></param>
        /// <param name="column"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetMyTable(string table,string column,string strwhere);
        /// <summary>
        /// 获取司法一级页面
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetCaseSF(string strwhere);
        /// <summary>
        /// 司法管理二级页面组织DATATABLE
        /// </summary>
        /// <param name="tableName"></param>
        /// <param name="whereValue"></param>
        /// <returns></returns>
        public abstract DataTable GetSFBasicInfo(string tableName,string selectKey, string whereValue);
        /// <summary>
        /// 获取征收补偿决定案件信息
        /// </summary>
        /// <returns></returns>
        public abstract CASE_REGISTER GetCASE_REGISTER(string strid);
        /// <summary>
        /// 保存征收补偿决定案件信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="caseregister"></param>
        /// <returns></returns>
        public abstract bool SaveCaseRegister(string strid,CASE_REGISTER caseregister);
        /// <summary>
        /// 获取强制信息
        /// </summary>
        /// <param name="caseid"></param>
        /// <returns></returns>
        public abstract QZZXXX GetQZZXXX(string strid);
        /// <summary>
        /// 保存强制信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="qzzxxx"></param>
        /// <returns></returns>
        public abstract bool SaveQZZXXX(string strid, QZZXXX qzzxxx);
        /// <summary>
        /// 获取一二再审诉讼抗诉信息
        /// </summary>
        /// <param name="caseid"></param>
        /// <returns></returns>
        public abstract ONEJUSTICE GetONEJUSTICE(string strid);
        /// <summary>
        /// 保存一二再审诉讼抗诉信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="onejustice"></param>
        /// <returns></returns>
        public abstract bool SaveONEJUSTICE(string strid, ONEJUSTICE onejustice);
        /// <summary>
        /// 获取行政复议信息
        /// </summary>
        /// <param name="caseid"></param>
        /// <returns></returns>
        public abstract BCJDXZFY GetBCJDXZFY(string strid);
        /// <summary>
        /// 保存行政复议信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="bcjdxzfy"></param>
        /// <returns></returns>
        public abstract bool SaveBCJDXZFY(string strid,BCJDXZFY bcjdxzfy);
        /// <summary>
        /// 获取信访信息
        /// </summary>
        /// <param name="tablename"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetXFXX(string type, string strwhere);
        /// <summary>
        /// 获取货币化补偿协议统计信息
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetHBHXYTJ(string strSJ1, string strSJ2, string strQS, string strFWYT,string userid);
        /// <summary>
        /// 获取评估结果统计
        /// </summary>
        /// <param name="type"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetPGJGTJ(string type,string strwhere);
        /// <summary>
        /// 获取评估资金统计
        /// </summary>
        /// <param name="type"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetPGZJTJ(string type, string strwhere);
        /// <summary>
        /// 获取信访汇总
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetXFHZ(string type,string strSJ1, string strSJ2, string strQS,string userid);
        /// <summary>
        /// 获取产权置换协议备案数据统计
        /// </summary>
        /// <param name="strSJ1"></param>
        /// <param name="strSJ2"></param>
        /// <param name="strQS"></param>
        /// <returns></returns>
        public abstract DataTable GetXYTJ(string strSJ1, string strSJ2, string strQS, string strFWYT,string userid);
        /// <summary>
        /// 获取征收补偿资金汇总
        /// </summary>
        /// <param name="strSJ1"></param>
        /// <param name="strSJ2"></param>
        /// <param name="strQS"></param>
        /// <param name="strFWYT"></param>
        /// <returns></returns>
        public abstract DataTable GetZSBCJHZ(bool rb1,bool rb2,string strSJ1, string strSJ2, string strQS, string strFWYT,string userid);
        /// <summary>
        /// 获取征收项目汇总
        /// </summary>
        /// <param name="strSJ1"></param>
        /// <param name="strSJ2"></param>
        /// <param name="strQS"></param>
        /// <returns></returns>
        public abstract DataTable GetZSXMHZ(string strSJ1, string strSJ2, string strQS,string userid);
        /// <summary>
        /// 保存菜单信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="menu"></param>
        /// <returns></returns>
        public abstract bool SaveMenu(string strid,Menu menu);
        /// <summary>
        /// 获取站内短信息
        /// </summary>
        /// <returns></returns>
        public abstract MESSAGE GetMESSAGE();
        /// <summary>
        /// 保存预警参数
        /// </summary>
        /// <returns></returns>
        public abstract bool SaveYJCS(YJCS yjcs);
        /// <summary>
        /// 绑定角色表
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetROLE(string strwhere);
        /// <summary>
        /// 保存角色信息
        /// </summary>
        /// <returns></returns>
        public abstract bool SaveRole(string strid,Role role);
        /// <summary>
        /// 设置角色-用户
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="username"></param>
        /// <returns></returns>
        public abstract DataTable SetRoleUser(string strid,string username);
        /// <summary>
        /// 获取用户关联角色
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract string GetRoleUser(string strid,string userid);
        /// <summary>
        /// 对角色用户关联信息进行修改
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract bool UpdateRoleUser(string type,string strid, string userid);
        /// <summary>
        /// 获取角色-菜单
        /// </summary>
        /// <param name="type"></param>
        /// <param name="strid"></param>
        /// <param name="menuid"></param>
        /// <returns></returns>
        public abstract DataTable GetRoleMenu(string type, string strid, string menuid);
        /// <summary>
        /// 设置角色菜单
        /// </summary>
        /// <param name="type"></param>
        /// <param name="strid"></param>
        /// <param name="menuid"></param>
        /// <returns></returns>
        public abstract string SetRoleMenu(string strid, string menuid);
        /// <summary>
        /// 对角色菜单关联信息进行修改
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract bool UpdateRoleMenu(string type, string strid, string menuid);
        /// <summary>
        /// 获取用户表
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetUserAll(string strwhere);
        /// <summary>
        /// 绑定项目名称下拉框
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetXMName();
        /// <summary>
        /// 获取数据表
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetDTTable(string sql);
        /// <summary>
        /// 获取单条数据
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public abstract string GetDTColumn(string sql);
        /// <summary>
        /// 获取不同的数据字典值
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetDisParams();
        /// <summary>
        /// 获取数据字典
        /// </summary>
        /// <param name="strid"></param>
        /// <returns></returns>
        public abstract Params GetParamO(string strid);
        /// <summary>
        /// 保存数据字典信息
        /// </summary>
        /// <param name="strid"></param>
        /// <param name="_params"></param>
        /// <returns></returns>
        public abstract bool SaveParams(string strid,Params _params);
        /// <summary>
        /// 获取公司信息
        /// </summary>
        /// <param name="type"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetCompany(string type,string strwhere);
        /// <summary>
        /// 获取实施单位人员
        /// </summary>
        /// <param name="type"></param>
        /// <param name="cid"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetSSComPer(string type,string cid,string strwhere);
        /// <summary>
        /// 获取单位类别分类
        /// </summary>
        /// <param name="column"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public abstract DataTable GetComDis(string column, string type);
        /// <summary>
        /// 评估机构复制
        /// </summary>
        /// <param name="rwnd"></param>
        public abstract void ComCopy(string rwnd);
        /// <summary>
        /// 获取征收部门
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetZSBM();
        /// <summary>
        /// 获取用户授权
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetYHSQ(string userid);
        /// <summary>
        /// 用户授权
        /// </summary>
        /// <param name="type"></param>
        /// <param name="userid"></param>
        /// <param name="parentid"></param>
        /// <returns></returns>
        public abstract DataTable SetUserMenuQ(string type,string userid,string parentid,string strwhere);
        /// <summary>
        /// 获取用户授权的单个
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="menuid"></param>
        /// <returns></returns>
        public abstract string GetUserMenuQ(string userid,string menuid);
        /// <summary>
        /// 更改用户授权关联信息
        /// </summary>
        /// <param name="userid"></param>
        /// <param name="menuid"></param>
        /// <returns></returns>
        public abstract bool UpdateUserMenuQ(string type,string userid, string menuid);
        /// <summary>
        /// 获取公告信息
        /// </summary>
        /// <returns></returns>
        public abstract DataTable GetGongGao();
        /// <summary>
        /// 获取日志信息
        /// </summary>
        /// <param name="type"></param>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetRiZhi(string type,string strwhere);
        /// <summary>
        /// 发送站内短消息
        /// </summary>
        public abstract void FSZNMessage(string luserid, string ltime, string fsbt, string fsnr, string pgjg);
        /// <summary>
        /// 获取短消息
        /// </summary>
        /// <param name="strwhere"></param>
        /// <returns></returns>
        public abstract DataTable GetZNMessage(string strwhere);
        /// <summary>
        /// 文件管理
        /// </summary>
        /// <param name="itemid"></param>
        /// <returns></returns>
        public abstract DataTable GetFileControl(string itemid);
        /// <summary>
        /// 验证USER表中是否存在此单位ID
        /// </summary>
        /// <param name="strcid"></param>
        /// <returns></returns>
        public abstract bool ckuserinrole(string strcid);
        /// <summary>
        /// 维护单位用户角色关联信息
        /// </summary>
        /// <param name="type">PG，ZS</param>
        /// <param name="type1">评估机构，征收部门</param>
        public abstract void checkuserrole(string type,string type1,string strcid,string cname,string roleid);
        /// <summary>
        /// 由登录人员ID取得其单位类别
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public abstract string CkComType(string userid);
        /// <summary>
        /// 验证此附件是否存在(对于没有提交功能的且需要进行附件数据交换的页面)
        /// </summary>
        /// <returns></returns>
        public abstract bool CkFileCount(string itemid,string usetype);
        /// <summary>
        /// 修改附件的交换状态
        /// </summary>
        /// <returns></returns>
        public abstract bool UpdateFileCS(string itemid,string usetype);
        /// <summary>
        /// 获取单条评估报名记录
        /// </summary>
        /// <param name="strid"></param>
        /// <returns></returns>
        public abstract PGBMJL GetPgbmjl(string strid);
        /// <summary>
        /// 动态显示剩余的待拨付额度
        /// </summary>
        /// <param name="pnid"></param>
        /// <returns></returns>
        public abstract string GetDHZKX(string pnid);
        /// <summary>
        /// 获取附件ID
        /// </summary>
        /// <param name="itemid"></param>
        /// <returns></returns>
        public abstract string GetFileId(string itemid);
        /// <summary>
        /// 删除信息
        /// </summary>
        /// <returns></returns>
        public abstract bool DeleteSome(string table, string strwhere);
        /// <summary>
        /// 由条件获取指定值
        /// </summary>
        /// <returns></returns>
        public abstract string GetSomeStr(string table, string col, string strwhere);
        /// <summary>
        /// 更新某个表中数据
        /// </summary>
        public abstract void UpdateSome(string table, string colval, string strwhere);
        /// <summary>
        /// 插入数据
        /// </summary>
        public abstract void InsertSome(string table, string col, string val);
        /// <summary>
        /// 由条件获取DATASET
        /// </summary>
        /// <returns></returns>
        public abstract DataSet GetOneDs(string table, string col, string strwhere);

        public abstract void UpdateFileContent(string tablename, string colname, string id, byte[] FileContent);

        public abstract string GetOneStr(string table, string ncol, string col, string value);
        /// <summary>
        /// 单独执行SQL
        /// </summary>
        public abstract void RunSqlNon(string sql);


        public abstract DataTable GetCjsjStat(String whereValue, string fsqk, string stringDate);

        public abstract DataTable GetCjslInfoTable(string whereValue, string fsqk, string stringDate);

        public abstract DataTable GetTable(string sql);

        public abstract string GetString(string sql);

        #region  返回模糊查询中的案件号
        public abstract string GetCaseIdLike(string txt);
        #endregion

        public abstract DataTable GetTableNeto2(string sql);
        public abstract string RunSqlNeto2(string sql);
        public abstract string GetStringNeto2(string sql);

        public abstract void UpdatePlFileContent(string tablename, string colname, string id, byte[] FileContent);
    }
}
